📜 [專欄新文章] Ethereum Identity — ERC725/735
✍️ Kimi Wu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Ethereum Identity — ERC725/735
前幾天,因緣際會地得知 ERC725,是一個跟 identity 有關的 EIP,提案人是Fabian Vogelsteller,ERC20 跟 Web3.js 的創始人(大神等級 XD),這篇就來介紹一下 ERC725 還有附屬的 ERC735!(本篇主要是介紹 ERC725,讓在做identity 相關的開發者可以有多一點的資訊,所以不會提到太多介面或實作上的細節)
ERC725 於 2017 年 10 月提出,目的是為了要建立區塊鏈上的數位身份。簡單來說,有兩個主要功能 Key Management 跟 Identity Usage(Identity Verification 稍後再提)。
Key Management
目前的定義有:MANAGEMENT, ACTION, CLAIM, ENCRYPTION
可以想作是每個身份的權限管理,不同的 key 能做不同的事。例如擁有MANAGEMENT 就代表你可以管理這個身份,是這個身份的擁有者,你要加key 或是移除 key 也都需要這個權限。ACTION 的 key 代表能夠執行某些動作。ERC725-Key-Management 有每個 key 的介紹。
Identity Usage
ERC725 在設計上是 proxy contract,也就是可以經由這個 identity contract 去執行其他 contract 的 function,透過 execute 這個 function 去執行。例如transfer ether。
除了執行的部分,Identity Usage 還有 approve 的功能,簡單來說,就是支援multisig 的功能,需要多人簽章,要執行的 function 才會執行。
ERC735 / Identity Verification
Identity 在實際場景中會有一個問題,就是身份怎麼「認證」,而作者把認證這塊獨立提了另一個EIP,也就是ERC735。
ERC735 的內容也相當簡單,就是增加跟移除認證(Claim)而已。在提案中沒有限制 Claim issuer(也就是發認證者)的身份,可以是 smart contract 或是外部的帳號都可以。
特別提一下,設計中有個 topic 的欄位,可以讓認證方去指定這個認證是屬於哪個類別的,可以讓認證的內容更加彈性,例如是生物辨識的資料,或是住家地址,不過這部分的細節尚未決定。
ERC725 DEMO有 web UI 可以讓大家更瞭解 ERC725 實際運作的樣子。
再回過頭來看 Key Management 在權責劃分的部分,Identity Usage 中的執行,會需要 ACTION 權限的 key,而 Identity Verification 則需要 CLAIM 的權限。也就是這個 identity contract 是可以由多人共管,有權責劃分,所以這不只是個人的 identity 是可以延展團體或是組織的 identity contract。
概念上 ERC725/735 還滿簡潔的,看完我的介紹應該像是跟沒看一樣 XD,有在做相關主題的,大概都想得到這些內容,identity 做得可大可小,我覺得厲害的是,作者可以把所有的需求最小化,卻又符合大部分的需求,然後提出一個這麼精簡的 EIP,跟 ERC20 一樣(對!我就是有大神崇拜症 XDD)。
ERC725 有成立一個 ERC725 Alliance,有興趣的可以上去看看跟瞭解。
Originally published at kimiwublog.blogspot.com.
Ethereum Identity — ERC725/735 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌